package com.shijie99.paper.manage.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class PmPolicyLimitExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PmPolicyLimitExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMinPersonIsNull() {
            addCriterion("min_person is null");
            return (Criteria) this;
        }

        public Criteria andMinPersonIsNotNull() {
            addCriterion("min_person is not null");
            return (Criteria) this;
        }

        public Criteria andMinPersonEqualTo(Integer value) {
            addCriterion("min_person =", value, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonNotEqualTo(Integer value) {
            addCriterion("min_person <>", value, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonGreaterThan(Integer value) {
            addCriterion("min_person >", value, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonGreaterThanOrEqualTo(Integer value) {
            addCriterion("min_person >=", value, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonLessThan(Integer value) {
            addCriterion("min_person <", value, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonLessThanOrEqualTo(Integer value) {
            addCriterion("min_person <=", value, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonIn(List<Integer> values) {
            addCriterion("min_person in", values, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonNotIn(List<Integer> values) {
            addCriterion("min_person not in", values, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonBetween(Integer value1, Integer value2) {
            addCriterion("min_person between", value1, value2, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMinPersonNotBetween(Integer value1, Integer value2) {
            addCriterion("min_person not between", value1, value2, "minPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonIsNull() {
            addCriterion("max_person is null");
            return (Criteria) this;
        }

        public Criteria andMaxPersonIsNotNull() {
            addCriterion("max_person is not null");
            return (Criteria) this;
        }

        public Criteria andMaxPersonEqualTo(Integer value) {
            addCriterion("max_person =", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonNotEqualTo(Integer value) {
            addCriterion("max_person <>", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonGreaterThan(Integer value) {
            addCriterion("max_person >", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonGreaterThanOrEqualTo(Integer value) {
            addCriterion("max_person >=", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonLessThan(Integer value) {
            addCriterion("max_person <", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonLessThanOrEqualTo(Integer value) {
            addCriterion("max_person <=", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonIn(List<Integer> values) {
            addCriterion("max_person in", values, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonNotIn(List<Integer> values) {
            addCriterion("max_person not in", values, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonBetween(Integer value1, Integer value2) {
            addCriterion("max_person between", value1, value2, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonNotBetween(Integer value1, Integer value2) {
            addCriterion("max_person not between", value1, value2, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartIsNull() {
            addCriterion("sale_time_start is null");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartIsNotNull() {
            addCriterion("sale_time_start is not null");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_start =", value, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartNotEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_start <>", value, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartGreaterThan(Date value) {
            addCriterionForJDBCDate("sale_time_start >", value, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_start >=", value, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartLessThan(Date value) {
            addCriterionForJDBCDate("sale_time_start <", value, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_start <=", value, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartIn(List<Date> values) {
            addCriterionForJDBCDate("sale_time_start in", values, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartNotIn(List<Date> values) {
            addCriterionForJDBCDate("sale_time_start not in", values, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("sale_time_start between", value1, value2, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeStartNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("sale_time_start not between", value1, value2, "saleTimeStart");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndIsNull() {
            addCriterion("sale_time_end is null");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndIsNotNull() {
            addCriterion("sale_time_end is not null");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_end =", value, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndNotEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_end <>", value, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndGreaterThan(Date value) {
            addCriterionForJDBCDate("sale_time_end >", value, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_end >=", value, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndLessThan(Date value) {
            addCriterionForJDBCDate("sale_time_end <", value, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("sale_time_end <=", value, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndIn(List<Date> values) {
            addCriterionForJDBCDate("sale_time_end in", values, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndNotIn(List<Date> values) {
            addCriterionForJDBCDate("sale_time_end not in", values, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("sale_time_end between", value1, value2, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andSaleTimeEndNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("sale_time_end not between", value1, value2, "saleTimeEnd");
            return (Criteria) this;
        }

        public Criteria andTicketLimitIsNull() {
            addCriterion("ticket_limit is null");
            return (Criteria) this;
        }

        public Criteria andTicketLimitIsNotNull() {
            addCriterion("ticket_limit is not null");
            return (Criteria) this;
        }

        public Criteria andTicketLimitEqualTo(Integer value) {
            addCriterion("ticket_limit =", value, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitNotEqualTo(Integer value) {
            addCriterion("ticket_limit <>", value, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitGreaterThan(Integer value) {
            addCriterion("ticket_limit >", value, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("ticket_limit >=", value, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitLessThan(Integer value) {
            addCriterion("ticket_limit <", value, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitLessThanOrEqualTo(Integer value) {
            addCriterion("ticket_limit <=", value, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitIn(List<Integer> values) {
            addCriterion("ticket_limit in", values, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitNotIn(List<Integer> values) {
            addCriterion("ticket_limit not in", values, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitBetween(Integer value1, Integer value2) {
            addCriterion("ticket_limit between", value1, value2, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andTicketLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("ticket_limit not between", value1, value2, "ticketLimit");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayIsNull() {
            addCriterion("go_weekday is null");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayIsNotNull() {
            addCriterion("go_weekday is not null");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayEqualTo(String value) {
            addCriterion("go_weekday =", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayNotEqualTo(String value) {
            addCriterion("go_weekday <>", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayGreaterThan(String value) {
            addCriterion("go_weekday >", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayGreaterThanOrEqualTo(String value) {
            addCriterion("go_weekday >=", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayLessThan(String value) {
            addCriterion("go_weekday <", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayLessThanOrEqualTo(String value) {
            addCriterion("go_weekday <=", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayLike(String value) {
            addCriterion("go_weekday like", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayNotLike(String value) {
            addCriterion("go_weekday not like", value, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayIn(List<String> values) {
            addCriterion("go_weekday in", values, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayNotIn(List<String> values) {
            addCriterion("go_weekday not in", values, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayBetween(String value1, String value2) {
            addCriterion("go_weekday between", value1, value2, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andGoWeekdayNotBetween(String value1, String value2) {
            addCriterion("go_weekday not between", value1, value2, "goWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayIsNull() {
            addCriterion("back_weekday is null");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayIsNotNull() {
            addCriterion("back_weekday is not null");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayEqualTo(String value) {
            addCriterion("back_weekday =", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayNotEqualTo(String value) {
            addCriterion("back_weekday <>", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayGreaterThan(String value) {
            addCriterion("back_weekday >", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayGreaterThanOrEqualTo(String value) {
            addCriterion("back_weekday >=", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayLessThan(String value) {
            addCriterion("back_weekday <", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayLessThanOrEqualTo(String value) {
            addCriterion("back_weekday <=", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayLike(String value) {
            addCriterion("back_weekday like", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayNotLike(String value) {
            addCriterion("back_weekday not like", value, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayIn(List<String> values) {
            addCriterion("back_weekday in", values, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayNotIn(List<String> values) {
            addCriterion("back_weekday not in", values, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayBetween(String value1, String value2) {
            addCriterion("back_weekday between", value1, value2, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andBackWeekdayNotBetween(String value1, String value2) {
            addCriterion("back_weekday not between", value1, value2, "backWeekday");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeIsNull() {
            addCriterion("min_stay_time is null");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeIsNotNull() {
            addCriterion("min_stay_time is not null");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeEqualTo(String value) {
            addCriterion("min_stay_time =", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeNotEqualTo(String value) {
            addCriterion("min_stay_time <>", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeGreaterThan(String value) {
            addCriterion("min_stay_time >", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeGreaterThanOrEqualTo(String value) {
            addCriterion("min_stay_time >=", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeLessThan(String value) {
            addCriterion("min_stay_time <", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeLessThanOrEqualTo(String value) {
            addCriterion("min_stay_time <=", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeLike(String value) {
            addCriterion("min_stay_time like", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeNotLike(String value) {
            addCriterion("min_stay_time not like", value, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeIn(List<String> values) {
            addCriterion("min_stay_time in", values, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeNotIn(List<String> values) {
            addCriterion("min_stay_time not in", values, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeBetween(String value1, String value2) {
            addCriterion("min_stay_time between", value1, value2, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMinStayTimeNotBetween(String value1, String value2) {
            addCriterion("min_stay_time not between", value1, value2, "minStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeIsNull() {
            addCriterion("max_stay_time is null");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeIsNotNull() {
            addCriterion("max_stay_time is not null");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeEqualTo(String value) {
            addCriterion("max_stay_time =", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeNotEqualTo(String value) {
            addCriterion("max_stay_time <>", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeGreaterThan(String value) {
            addCriterion("max_stay_time >", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeGreaterThanOrEqualTo(String value) {
            addCriterion("max_stay_time >=", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeLessThan(String value) {
            addCriterion("max_stay_time <", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeLessThanOrEqualTo(String value) {
            addCriterion("max_stay_time <=", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeLike(String value) {
            addCriterion("max_stay_time like", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeNotLike(String value) {
            addCriterion("max_stay_time not like", value, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeIn(List<String> values) {
            addCriterion("max_stay_time in", values, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeNotIn(List<String> values) {
            addCriterion("max_stay_time not in", values, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeBetween(String value1, String value2) {
            addCriterion("max_stay_time between", value1, value2, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andMaxStayTimeNotBetween(String value1, String value2) {
            addCriterion("max_stay_time not between", value1, value2, "maxStayTime");
            return (Criteria) this;
        }

        public Criteria andSuittypeIsNull() {
            addCriterion("suittype is null");
            return (Criteria) this;
        }

        public Criteria andSuittypeIsNotNull() {
            addCriterion("suittype is not null");
            return (Criteria) this;
        }

        public Criteria andSuittypeEqualTo(Integer value) {
            addCriterion("suittype =", value, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeNotEqualTo(Integer value) {
            addCriterion("suittype <>", value, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeGreaterThan(Integer value) {
            addCriterion("suittype >", value, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("suittype >=", value, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeLessThan(Integer value) {
            addCriterion("suittype <", value, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeLessThanOrEqualTo(Integer value) {
            addCriterion("suittype <=", value, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeIn(List<Integer> values) {
            addCriterion("suittype in", values, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeNotIn(List<Integer> values) {
            addCriterion("suittype not in", values, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeBetween(Integer value1, Integer value2) {
            addCriterion("suittype between", value1, value2, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuittypeNotBetween(Integer value1, Integer value2) {
            addCriterion("suittype not between", value1, value2, "suittype");
            return (Criteria) this;
        }

        public Criteria andSuitnationIsNull() {
            addCriterion("suitnation is null");
            return (Criteria) this;
        }

        public Criteria andSuitnationIsNotNull() {
            addCriterion("suitnation is not null");
            return (Criteria) this;
        }

        public Criteria andSuitnationEqualTo(String value) {
            addCriterion("suitnation =", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationNotEqualTo(String value) {
            addCriterion("suitnation <>", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationGreaterThan(String value) {
            addCriterion("suitnation >", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationGreaterThanOrEqualTo(String value) {
            addCriterion("suitnation >=", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationLessThan(String value) {
            addCriterion("suitnation <", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationLessThanOrEqualTo(String value) {
            addCriterion("suitnation <=", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationLike(String value) {
            addCriterion("suitnation like", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationNotLike(String value) {
            addCriterion("suitnation not like", value, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationIn(List<String> values) {
            addCriterion("suitnation in", values, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationNotIn(List<String> values) {
            addCriterion("suitnation not in", values, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationBetween(String value1, String value2) {
            addCriterion("suitnation between", value1, value2, "suitnation");
            return (Criteria) this;
        }

        public Criteria andSuitnationNotBetween(String value1, String value2) {
            addCriterion("suitnation not between", value1, value2, "suitnation");
            return (Criteria) this;
        }

        public Criteria andPolicyidIsNull() {
            addCriterion("policyid is null");
            return (Criteria) this;
        }

        public Criteria andPolicyidIsNotNull() {
            addCriterion("policyid is not null");
            return (Criteria) this;
        }

        public Criteria andPolicyidEqualTo(Integer value) {
            addCriterion("policyid =", value, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidNotEqualTo(Integer value) {
            addCriterion("policyid <>", value, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidGreaterThan(Integer value) {
            addCriterion("policyid >", value, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidGreaterThanOrEqualTo(Integer value) {
            addCriterion("policyid >=", value, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidLessThan(Integer value) {
            addCriterion("policyid <", value, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidLessThanOrEqualTo(Integer value) {
            addCriterion("policyid <=", value, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidIn(List<Integer> values) {
            addCriterion("policyid in", values, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidNotIn(List<Integer> values) {
            addCriterion("policyid not in", values, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidBetween(Integer value1, Integer value2) {
            addCriterion("policyid between", value1, value2, "policyid");
            return (Criteria) this;
        }

        public Criteria andPolicyidNotBetween(Integer value1, Integer value2) {
            addCriterion("policyid not between", value1, value2, "policyid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}